為了要在邪惡世界中能保證接收到正常的 TCP/IP 傳輸到 Azure 虛擬網路間輾轉流進入到 Azure 資源中。而這麼一個網路篩選器"網路安全性群組"就佔了舉足輕重的地位,其中最終的實際作為就是要嚴格執行安全性規則,用來明定允許或拒絕進出一條至多條對於 Azure 資源服務的輸入輸出網路流量。
基本網路安全組拓樸
下圖就是最純粹的單純,從 Azure 虛擬子網路下的虛擬機器資源
VM1 同時套用 NSG1 與 NSG2 網路進出政策 (但實務上一張網卡只能配上一組 NSG,故我把他理解成多張網卡各自配各自不同的 NSG 政策)。
VM2 完全沒有進出的安全把關與 VM1為同個子網路下。
VM3 就是我們理解的一張網卡配了一組 NSG2 在自己的獨立子網路。
VM4 完全沒有進出的安全把關一樣是獨立子網路。
安全性規則
屬性 | 說明 |
---|---|
NSG 名稱 | NSG 唯一名 |
優先序 | 100 和 4096 間。系統依小至大優先權順序處理規則來做處理,故一旦符合規則,就會停止處理。 |
來源/目的 | 任何或個別 IP 位址、CIDR 區塊如: 10.0.0.0/24、服務標籤或應用程式安全性群組(NEW)。 |
通訊協定 | TCP、UDP、ICMP 或 Any。 |
規則方向 | 是否套用輸出入流量。 |
連接埠範圍 | 可指定個別或整個連接埠範圍如:可指定 80 或 10000-10005。補充如:增強安全性規則只可在Resource Manager 部署模型中建立。 |
動作 | Allow / Drop |
補充:網路安全組會依優先序透過五項來源依據(來源 IP、目的地 IP、來源連接埠、目的地連接埠和通訊協定)來評估安全群組的規則,來判斷允許或拒絕流量。另外在兩年前也可以對 NSG 擁有診斷紀錄讓系統平台無論是允許或拒絕的網路通訊都會做流程連線紀錄為依據。
本次的重點尚不在此服務標籤不過我猜還是有不少人其實沒有用過故簡單說明一下:
服務標籤簡單說拿瀏覽 Google 網站,我們不會打 23.100.x.x 的 IP 來做谷歌搜尋網站的前置詞而是就直接打google 就會自動判斷你要找的就是谷歌搜尋首頁。
我們記不了數字也不會想記無意義的數字IP來搜尋任何服務,懂了前置代名詞的意義後,同理我們要設置一組政策可能很大,同樣我們也不一定知道對方的 IP 又或是一個服務涵蓋多組 IP 等等..故沒錯你猜到了,透過能理解的服務名稱來代表 IP 位址前置詞,可以大幅降低安全性規則的複雜性。
這些服務標籤並非我們可以自建或指定標籤中能含哪些 IP 位址。 微軟會直接幫我們管理服務標籤包含的位址前置詞,並隨著位址變更自動更新服務標籤。
舉幾個常見的服務標籤如下:
最後說一下去年2018/03/30正式推出的彈性管理功能"應用程式安全性群組"ASG
ASG 可依據工作負載、應用程式或 IP 位址來更具彈性的設置網路安全原則。以下是所帶來的好處:
圖中示範中每個網卡都只套用一組 ASG,但網卡本身是可以多個 ASG 的,上限是可參照 Azure 限制(小弟已經截圖出來)。
而光說不練怎麼行,實驗環境中會把持續關注的你/妳帶到小弟我的 wordpress.com Blog 連結內容如下:
如果有興趣對您有幫助也請多多支持,歡迎給小弟建議或互相交流!
向大師請教 為什要用azure ?
而不用 heroku 或 gcp ?
就跟你同樣要吃飽可以有很多種方法達到你要的!我玩Azure多也自然會利用雲端的原生服務元素來解決自身或他人的問題,商業價值應用情境找到最佳來利用自己的核心價值(成本巴豆還是要顧一下)可行完全開放都行!
了解了,謝謝XD